package com.jkkc.lib.base.util.usb

import com.blankj.utilcode.util.LogUtils
import com.hoho.android.usbserial.driver.UsbSerialPort
import com.jkkc.lib.base.util.HexUtil
import java.io.IOException

/**
 * Author:LiXian
 * <p>
 * Desc:USB串口通信
 * Version:1.0
 * date 2023/2/13 11:25
 */
class UsbSerialPortImpl(var mSerialPort: UsbSerialPort) {

    fun write(data: ByteArray) {
        try {
            mSerialPort.write(data, 0)
            LogUtils.e(String.format("UsbSerialPortImpl send:%s", HexUtil.byteToHex(data)))
        } catch (e: IOException) {
            e.printStackTrace()
        }
    }

    @Throws(IOException::class)
    fun read(dest: ByteArray, timeout: Int): Int {
        val len: Int = mSerialPort.read(dest, timeout)
        if (len > 0) {
            val t = dest.copyOf(len)
            LogUtils.e(String.format("原始数据长度:%d，数据:%s", len, HexUtil.byteToHex(t)))
        }
        return len
    }

}